package com.cgt.xiaotao.user.client;

import com.cgt.common.domain.dto.LoginFormDTO;
import com.cgt.common.domain.dto.LoginUserDTO;
import com.cgt.common.utils.R;
import com.cgt.xiaotao.user.client.domain.dto.UserAddressDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Repository;
import org.springframework.web.bind.annotation.*;

@FeignClient(value = "service-user")
@Repository
public interface UserFeignClient {

    /**
     * 根据手机号查询用户id
     * @param phone 手机号
     * @return 用户id
     */
    @GetMapping("/users/ids")
    Long exchangeUserIdWithPhone(@RequestParam("phone") String phone);

    /**
     * 登录接口
     * @param loginDTO 登录信息
     * @param isStaff 是否是员工
     * @return 用户详情
     */
    @PostMapping("/users/detail/{isStaff}")
    LoginUserDTO queryUserDetail(@RequestBody LoginFormDTO loginDTO, @PathVariable("isStaff") boolean isStaff);

    /**
     * 查询用户地址
     * @param id 地址id
     * @return 地址信息
     */
    @GetMapping("/{id}")
    UserAddressDTO getAddress(@PathVariable Long id);
}